Software agents have emerged as promising tools for addressing complex software engineering tasks. However, existing works oversimplify software development workflows by following the waterfall model.
Can software agents mimic real word software development workflow ?
Introducing AGILECODER, a multi-agent system that integrates Agile Methodology (AM) into the framework. This system assigns specific AM roles—such as Product Manager, Developer, and Tester—to different agents, who then collaboratively develop software based on user inputs. AGILECODER enhances development efficiency by organizing work into sprints, focusing on incrementally developing software through sprints.
AGILECODER uses multiple agent such as Product Manager (PM), Scrum Master (SM), Developer (Dev), Senior Developer (SD) and Tester. Each role can be dynamically assigned and executed. The workflow starts with the Product Manager planning the backlog based on user requirements. The Scrum Master then reviews and finalizes the backlog, leading into development sprints consisting of Planning, Development, Testing, and Review phases. After evaluating progress, the Scrum Master decides on software readiness for delivery. If necessary, the process repeats in subsequent sprints until the software is deemed deliverable. at which point a termination signal concludes the development pipeline.
The development process incorporates the Execution Environment for running code during testing and the Dynamic Code Graph Generator (DCGG) for dynamically generating the Code Dependency Graph whenever the code is updated. The Execution Environment provides tracebacks to agents for code refinement, while the DCGG enables agents to retrieve relevant contexts for accurate code generation and correction.
AGILECODER surpasses existing benchmarks, like ChatDev and MetaGPT, establishing a new standard and showcasing the capabilities of multi-agent systems in advanced software engineering environments.
Paper : https://arxiv.org/pdf/2406.11912